1. Technical Field
The present disclosure relates to an on-demand compute environment and more specifically to a system and method of providing access and use of on-demand compute resources from a local compute environment.
2. Introduction
Managers of clusters desire maximum return on investment, often meaning high system utilization and the ability to deliver various qualities of service to various users and groups. A cluster is typically defined as a parallel computer that is constructed of commodity components and runs as its system software commodity software. A cluster contains nodes each containing one or more processors, memory that is shared by all of the processors in the respective node and additional peripheral devices such as storage disks that are connected by a network that allows data to move between nodes. A cluster is one example of a compute environment. Other examples include a grid, which is loosely defined as a group of clusters, and a computer farm which is another organization of computers for processing.
Often a set of resources organized in a cluster or a grid can have jobs to be submitted to the resources that require more capability than the set of resources has available. In this regard, there is a need in the art for being able to easily, efficiently and on-demand utilize new resources or different resources to handle a job. The concept of “on-demand” compute resources has been developing in the high performance computing community recently. An on-demand computing environment enables companies to procure compute power for average demand and then contract remote processing power to help in peak loads or to offload all their compute needs to a remote facility.
Enabling capacity on demand in an easy-to-use manner is important to increasing the pervasiveness of hosting in an on-demand computing environment such as a high performance computing or data center environment. Several entities can provide a version of on-demand capability, but there still exists multi-hour or multi-delays in obtaining access to the environment. The delay is due to the inflexibility of transferring workload because the on-demand centers require participating parties to align to certain hardware, operating systems or resource manager environments. These requirements act as inhibitors to widespread adoption of the use of on-demand centers and make it too burdensome for potential customers to try out the service. Users must pay for unwanted or unexpected charges and costs to make the infrastructure changes for compatibility with the on-demand centers.
Often a set of resources organized in a cluster or a grid can have jobs to be submitted to the resources that require more capability than the set of resource has available. In this regard, there is a need in the art for being able to easily, efficiently and on-demand utilize new resources or different resources to handle a job. The concept of “on-demand” compute resources has been developing in the high performance computing community recently. An on-demand computing environment enables companies to procure compute power for average demand and then contract remote processing power to help in peak loads or to offload all their compute needs to a remote facility. Several reference books having background material related to on-demand computing or utility computing include Mike Ault, Madhu Tumma, Oracle 10 g Grid & Real Application Clusters, Rampant TechPress, 2004 and Guy Bunker, Darren Thomson, Delivering Utility Computing Business-driven IT Optimization, John Wiley & Sons Ltd, 2006.
In Bunker and Thompson, section 3.3 on page 32 is entitled “Connectivity: The Great Enabler” wherein they discuss how the interconnecting of computers will dramatically increase their usefulness. This disclosure addresses that issue. There exists in the art a need for improved solutions to enable communication and connectivity with an on-demand high performance computing center.